//
//  KATFrameDisplayer.h
//  KATFramework
//
//  Created by Kantice on 16/7/20.
//  Copyright © 2016年 KatApp. All rights reserved.
//  刷屏帧数显示器
//  为了防止循环引用，从父视图中删除时，会自动停止定时器

#import "KATSprite.h"



@interface KATFrameDisplayer : KATSprite
{
    int _count;//计数
}

#pragma -mark 属性

///显示的标签
@property(nonatomic,retain) UILabel *label;

///当前帧数
@property(nonatomic,assign) float currentFrames;

///计算周期(默认为20次)
@property(nonatomic,assign) float calculateTimes;

///小数点精度(0~2)
@property(nonatomic,assign) int accuracy;

///显示前缀
@property(nonatomic,copy) NSString *prefix;

///显示后缀
@property(nonatomic,copy) NSString *suffix;

///优秀的帧数(默认为56帧以上)
@property(nonatomic,assign) float excellentFrames;

///较好的帧数(默认为42帧以上)
@property(nonatomic,assign) float goodFrames;

///一般的帧数(默认为28帧以上)
@property(nonatomic,assign) float normalFrames;

///糟糕的帧数(默认为14帧以上)
@property(nonatomic,assign) float badFrames;

///可怕的帧数(默认为0帧以上)
@property(nonatomic,assign) float terribleFrames;

///优秀帧数颜色
@property(nonatomic,retain) UIColor *excellentColor;

///较好帧数颜色
@property(nonatomic,retain) UIColor *goodColor;

///一般帧数颜色
@property(nonatomic,retain) UIColor *normalColor;

///糟糕帧数颜色
@property(nonatomic,retain) UIColor *badColor;

///可怕帧数颜色
@property(nonatomic,retain) UIColor *terribleColor;

///帧数定时器
@property(nonatomic,retain) CADisplayLink *timer;

///是否停止
@property(nonatomic,assign) BOOL stoped;

///上次计算时间
@property(nonatomic,assign) CFTimeInterval lastCalculateTime;


#pragma -mark 类方法

///获取实例
+ (instancetype)displayerWithFrame:(CGRect)frame;


#pragma -mark 对象方法

///开始计算
- (void)start;

///停止计算
- (void)stop;


///释放内存
- (void)dealloc;


@end

